<?php
/**
 * @filename Quackable.php
 * @author LD King
 * @encoding UTF-8
 * @date 2008-9-19 | 下午03:21:58
 * @package 12-MVC
 * @subpackage 
 * @usage Model-View-Controller 
 * @note 鸭子叫的接口
 * @copyright Copyright (c) 2007 - 2008 LD (http://mifunny.info)
 * @version $Id: $
 */

/**
 * 观察者模式
 */
//include_once 'QuackObservable.php';

/**
 * 鸭子叫的接口
 *
 */
interface Quackable {
	/**
	 * 呱呱叫
	 *
	 */
	public function quack();
} /* END inter Quackable */


/**
 * 野鸭 实现呱呱叫
 *
 */
class MallardDuck implements Quackable {
	/**
	 * @see Quackable::quack()
	 *
	 */
	public function quack() {
		echo "MallardDuck: Quack.<br />";
	}
} /* END class MallardDuck */

/**
 * 红头鸭 实现呱呱叫
 *
 */
class RedheadDuck implements Quackable {
	/**
	 * @see Quackable::quack()
	 *
	 */
	public function quack() {
		echo "RedheadDuck: Quack.<br />";
	}
} /* END class RedheadDuck */

/**
 * 鸭鸣器  猎人用的……
 * 
 */
class DuckCall implements Quackable {
	/**
	 * @see Quackable::quack()
	 *
	 */
	public function quack() {
		echo "DuckCall: Kwak.<br />";
	}
} /* END class DuckCall */


class RubberDuck implements Quackable {
	/**
	 * @see Quackable::quack()
	 *
	 */
	public function quack() {
		echo "RubberDuck: Squeak.<br />";
	}
} /* END class RubberDuck */


?>